Java代码方式实现SAP连接

您所在的位置:网站首页 java jco Java代码方式实现SAP连接

Java代码方式实现SAP连接

2023-11-17 07:25| 来源: 网络整理| 查看: 265

在开始之前需要导入如下的三个文件:

在Java文件夹下新建一个lib文件夹,把下面的JCO3文件添加到lib文件后右键lib文件。选择Add to library即可。

 然后就可以开始写代码。

我在整个开始的函数段定义了自己需要的连接字段:

private static String ASHOST = ""; //sap系统编号 private static String SYSNR = ""; //sap集团 private static String CLIENT = ""; //sap用户名与密码 private static String USER = ""; private static String PASSWD = ""; //语言 private static String LANG = ""; //最大连接数 private static String POOL_CAPACITY = ""; //最大链接线程 private static String PEAK_LIMIT = ""; //SAP ROUTER private static String SAPROUTER = ""; private final static String ABAP_AS_POOLED = "";

这是关于SAP初始链接的函数段。

/** * 初始化SAP连接 */ private static void initProperties() { Properties connectProperties = new Properties(); // SAP服务器 connectProperties.setProperty(DestinationDataProvider.JCO_ASHOST, ASHOST); // SAP系统编号 connectProperties.setProperty(DestinationDataProvider.JCO_SYSNR,SYSNR); // SAP集团 connectProperties.setProperty(DestinationDataProvider.JCO_CLIENT,CLIENT); // SAP用户名 connectProperties.setProperty(DestinationDataProvider.JCO_USER, USER); // SAP密码 connectProperties.setProperty(DestinationDataProvider.JCO_PASSWD, PASSWD); // SAP登录语言 connectProperties.setProperty(DestinationDataProvider.JCO_LANG, LANG); // 最大连接数 connectProperties.setProperty(DestinationDataProvider.JCO_POOL_CAPACITY,POOL_CAPACITY); // 最大连接线程 connectProperties.setProperty(DestinationDataProvider.JCO_PEAK_LIMIT,PEAK_LIMIT); // SAP ROUTER connectProperties.setProperty(DestinationDataProvider.JCO_SAPROUTER, SAPROUTER); createDataFile(ABAP_AS_POOLED, "jcoDestination", connectProperties); }

createDataFile函数:

/** * 创建SAP接口属性文件。 * @param name ABAP管道名称 * @param suffix 属性文件后缀 * @param properties 属性文件内容 */ private static void createDataFile(String name, String suffix, Properties properties){ File cfg = new File(name+"."+suffix); if(cfg.exists()){ cfg.deleteOnExit(); } try{ FileOutputStream fos = new FileOutputStream(cfg, false); properties.store(fos, "for tests only !"); fos.close(); }catch (Exception e){ System.out.println("Create Data file fault, error msg: " + e.toString()); throw new RuntimeException("Unable to create the destination file " + cfg.getName(), e); } }

SAP链接:

/** * 获取SAP连接 * @return SAP连接对象 */ public static JCoDestination connect(){ System.out.println("开始尝试链接!"); //JCoDestination代表后台SAP系统,程序员不用关心与SAP的连接,jco3.0运行时环境负责管理连接和释放连接。 JCoDestination destination = null; initProperties(); try { destination = JCoDestinationManager.getDestination(ABAP_AS_POOLED); //调用ping()方法测试SAP系统的连接 destination.ping(); System.out.println("成功建立和sap的连接!"); } catch (JCoException e) { System.out.println("链接失败,错误日志: " + e.toString()); } return destination; }

这次的内容借鉴了如下链接的文章:

(一)通过JAVA连接SAP调用接口 (sapjco3.jar在Windows和MacOS上的配置)



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3